package com.ruoyi.cbs.project.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目器具对象 cbs_project_equipment
 * 
 * @author ruoyi
 * @date 2025-11-17
 */
public class ProjectEquipment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 承包商ID */
    @Excel(name = "承包商ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long contractorId;

    /** 项目ID */
    @Excel(name = "项目ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long projectId;

    /** 器具ID */
    @Excel(name = "器具ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long equipmentId;

    /** 器具编号 */
    @Excel(name = "器具编号")
    private String toolNo;

    /** 器具名称 */
    @Excel(name = "器具名称")
    private String toolName;

    /** 器具类别(电动工具,安全防护设备) */
    @Excel(name = "器具类别(电动工具,安全防护设备)")
    private String toolType;

    /** 入场日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入场日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date enterDate;

    /** 出场日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出场日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outDate;

    /** 状态: 0停用/报废，1可用 */
    @Excel(name = "状态: 0停用/报废，1可用")
    private Integer status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setContractorId(Long contractorId) 
    {
        this.contractorId = contractorId;
    }

    public Long getContractorId() 
    {
        return contractorId;
    }

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }

    public void setEquipmentId(Long equipmentId) 
    {
        this.equipmentId = equipmentId;
    }

    public Long getEquipmentId() 
    {
        return equipmentId;
    }

    public void setToolNo(String toolNo) 
    {
        this.toolNo = toolNo;
    }

    public String getToolNo() 
    {
        return toolNo;
    }

    public void setToolName(String toolName) 
    {
        this.toolName = toolName;
    }

    public String getToolName() 
    {
        return toolName;
    }

    public void setToolType(String toolType) 
    {
        this.toolType = toolType;
    }

    public String getToolType() 
    {
        return toolType;
    }

    public void setEnterDate(Date enterDate) 
    {
        this.enterDate = enterDate;
    }

    public Date getEnterDate() 
    {
        return enterDate;
    }

    public void setOutDate(Date outDate) 
    {
        this.outDate = outDate;
    }

    public Date getOutDate() 
    {
        return outDate;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("contractorId", getContractorId())
            .append("projectId", getProjectId())
            .append("equipmentId", getEquipmentId())
            .append("toolNo", getToolNo())
            .append("toolName", getToolName())
            .append("toolType", getToolType())
            .append("enterDate", getEnterDate())
            .append("outDate", getOutDate())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
